package Demo;

import java.util.concurrent.atomic.AtomicInteger;

public class Test4 {
    public static void main(String[] args) {
        //初始化一个原子型Integer
        AtomicInteger ac = new AtomicInteger(10);
        System.out.println(ac);
        System.out.println("------");
        //获取值
        System.out.println(ac.get());
        System.out.println("------");
        //当前值加1，返回值是自增前的
        int i = ac.getAndIncrement();
        System.out.println(i);
        System.out.println(ac);
        System.out.println("------");
        //当前值加1，但是返回是自增后的
        int i1 = ac.incrementAndGet();
        System.out.println(i1);
        System.out.println(ac);
        System.out.println("------");

        //设置参数，2个相加，返回结果
        int addAndGet = ac.addAndGet(100);
        System.out.println(addAndGet);
        //设置新值，返回旧值
        int andAdd = ac.getAndAdd(100);
        System.out.println(andAdd);
        System.out.println(ac);
    }
}
